package com.by.controller;

import com.by.core.bean.ResultBean;
import com.by.core.controller.BaseController;
import com.by.service.OrderService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import com.by.bean.Order;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
@Api(tags = "订单查询")
@RequestMapping("/api")
public class OrderController extends BaseController {

    /***
     ** 2.根据参数获取订单
     * 4.订单确认收货
     * 5.新订单未支付成功
     * 6.根据参数和时间获取订单列表
     * 7.根据分页参数和订单参数获取订单列表
     * 8.根据订单参数获取订单数
     * 9.根据用户id和订单状态获取订单列表
     * 10.根据用户id和订单状态获取订单数量
     * 12.根据用户id获取各个状态的订单数量
     * */
    

    @Autowired
    OrderService orderService;


    /**
     * 根据订单编号获取订单
     * */
    @GetMapping("/queryOrderById")
    @ApiOperation("根据订单id查询订单信息")
    public ResultBean queryOrderById(int id){
        Order order = (Order) orderService.getById(id);
        return success("ok",order);
    }
    /**
     * 根据订单状态查询订单信息
     * */
    @GetMapping("/queryOrderByStatus")
    @ApiOperation("根据订单状态查询订单信息")
    public ResultBean queryOrderByStatus(int status){
        Order order = orderService.queryOrderByStatus(status);
        return success("ok",order);
    }
    /**
     *3.取消订单
     */
    @PutMapping("/updateOrderCloseType")
    @ApiOperation("取消订单")
    public boolean updateOrderCloseType(int id){
//        Order order=new Order();
//        order.setOrderId(id);
//        order.setCloseType(4);
//        return false;
         return orderService.updateOrderCloseType(id, 4);
    }

    /**
     * 删除订单
     */
    @PutMapping("/updateOrderdeleteStatus")
    @ApiOperation("删除订单")
    public boolean updateOrderdeleteStatus(int id){
        return orderService.updateOrderDeleteStatus(id,2);
    }





}
